\doxysection{C\+:/\+Users/\+ASUS/\+Desktop/dm-\/ctrl\+H7-\/balance-\/9025test/\+Drivers/\+STM32\+H7xx\+\_\+\+HAL\+\_\+\+Driver/\+Src/stm32h7xx\+\_\+hal\+\_\+flash\+\_\+ex.c File Reference}
\hypertarget{stm32h7xx__hal__flash__ex_8c}{}\label{stm32h7xx__hal__flash__ex_8c}\index{C:/Users/ASUS/Desktop/dm-\/ctrlH7-\/balance-\/9025test/Drivers/STM32H7xx\_HAL\_Driver/Src/stm32h7xx\_hal\_flash\_ex.c@{C:/Users/ASUS/Desktop/dm-\/ctrlH7-\/balance-\/9025test/Drivers/STM32H7xx\_HAL\_Driver/Src/stm32h7xx\_hal\_flash\_ex.c}}


Extended FLASH HAL module driver. This file provides firmware functions to manage the following functionalities of the FLASH extension peripheral\+:  


{\ttfamily \#include "{}stm32h7xx\+\_\+hal.\+h"{}}\newline


\doxysubsection{Detailed Description}
Extended FLASH HAL module driver. This file provides firmware functions to manage the following functionalities of the FLASH extension peripheral\+: 

\begin{DoxyAuthor}{Author}
MCD Application Team
\begin{DoxyItemize}
\item Extended programming operations functions
\end{DoxyItemize}
\end{DoxyAuthor}
\begin{DoxyVerb}==============================================================================
                  ##### Flash Extension features #####
 ==============================================================================

 [..] Comparing to other previous devices, the FLASH interface for STM32H7xx
      devices contains the following additional features

      (+) Capacity up to 2 Mbyte with dual bank architecture supporting read-while-write
          capability (RWW)
      (+) Dual bank memory organization
      (+) PCROP protection for all banks
      (+) Global readout protection (RDP)
      (+) Write protection
      (+) Secure access only protection
      (+) Bank / register swapping (when Dual-Bank)
      (+) Cyclic Redundancy Check (CRC)

                       ##### How to use this driver #####
==============================================================================
 [..] This driver provides functions to configure and program the FLASH memory
      of all STM32H7xx devices. It includes
     (#) FLASH Memory Erase functions:
          (++) Lock and Unlock the FLASH interface using HAL_FLASH_Unlock() and
               HAL_FLASH_Lock() functions
          (++) Erase function: Sector erase, bank erase and dual-bank mass erase
          (++) There are two modes of erase :
            (+++) Polling Mode using HAL_FLASHEx_Erase()
            (+++) Interrupt Mode using HAL_FLASHEx_Erase_IT()

     (#) Option Bytes Programming functions: Use HAL_FLASHEx_OBProgram() to:
       (++) Set/Reset the write protection per bank
       (++) Set the Read protection Level
       (++) Set the BOR level
       (++) Program the user Option Bytes
       (++) PCROP protection configuration and control per bank
       (++) Secure area configuration and control per bank
       (++) Core Boot address configuration
       (++) TCM / AXI shared RAM configuration
       (++) CPU Frequency Boost configuration

     (#) FLASH Memory Lock and unlock per Bank: HAL_FLASHEx_Lock_Bank1(), HAL_FLASHEx_Unlock_Bank1(),
         HAL_FLASHEx_Lock_Bank2() and HAL_FLASHEx_Unlock_Bank2() functions

     (#) FLASH CRC computation function: Use HAL_FLASHEx_ComputeCRC() to:
         (++) Enable CRC feature
         (++) Program the desired burst size
         (++) Define the user Flash Area on which the CRC has be computed
         (++) Perform the CRC computation
         (++) Disable CRC feature

     (#) Error correction code error functions:
         (++) Use the HAL_FLASHEx_EnableEccCorrectionInterrupt() and HAL_FLASHEx_DisableEccCorrectionInterrupt()
              functions to enable and disable the FLASH ECC correction interruption.
         (++) Use the HAL_FLASHEx_EnableEccDetectionInterrupt() and HAL_FLASHEx_DisableEccDetectionInterrupt()
              functions to enable and disable the FLASH ECC Detection interruption.
         (++) Handle ECCD interrupt by calling HAL_FLASHEx_BusFault_IRQHandler()
         (++) Use HAL_FLASHEx_BusFault_IRQHandler() function called under BusFault_IRQHandler() interrupt subroutine
              to handle the ECCD interrupt.
         (++) Use HAL_FLASHEx_GetEccInfo() function to get the flash ECC fail information.
\end{DoxyVerb}


\begin{DoxyAttention}{Attention}

\end{DoxyAttention}
Copyright (c) 2017 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-\/\+IS. 